A device driver (e.g., driver) is a software component (e.g., program) that permits a computer system to communicate with a particular device. Because the driver handles device specific features, an operating system is freed from the burden of having to understand and support needs of individual hardware devices. However, if a driver is problematic, the particular device controlled by the driver can fail to work properly and can even be completely inoperative. Such problems are especially problematic for key devices such as a video card, hard drive controller or hard drive. Additionally, a problematic driver can often cause an operating system to become unstable, create problems with a whole computer system and may even lead to system operation halting. If properly identified, problematic driver(s) can be replaced with non-faulty driver(s) to mitigate further problems with the device, operating system and/or computer system.
Computer systems today often employ a significant number of devices and corresponding device drivers. For example, a typical computer system can utilize devices such as sound cards, bus controllers, video capture devices, audio capture devices, universal serial bus devices, firewire controllers and devices, DVD drives, network cards, DSL modems, cable modems, LCD monitors, monitors, laser printers, ink jet printers, fax machines, scanners, digital cameras, digital video cameras and the like. Additionally, a single device can employ more than one device driver. For example, a typical 3-D video card can require numerous device drivers.
Most drivers are provided by third parties. A driver is added to the system, for example, whenever a user adds a new piece of hardware to their machine. Additionally drivers are frequently updated to fix problems/bugs in the driver, add performance and/or add other features. Most drivers run in the kernel of the operating system; which means if they do anything wrong it can be fatal to the running of the entire computer.